The present invention relates to a method for performing a series of processes in a given order for data input to a system, and particularly to a technology for managing the processing status of a series of processes for unit data stored in a plurality of segments that constitute a buffer, respectively.
A storage device such as a tape drive performs a lot of processes including adding ID information or an error correction code to unit data before it records input data sent from a host device into a storage medium in given units. The series of processes are performed in a given order by hardware and the blocks of the hardware use a common buffer as a work area for the processes. The buffer is used as a ring buffer composed of a plurality of areas (hereinafter, referred to as segments) and the unit data are stored in the segments. Although the blocks operate independently, their processing statuses are managed by registers so that the blocks can determine the start of a process for the next segment by themselves and the processing statuses are shared by the blocks.
As a conventional technology for managing a data transfer between a plurality of processing circuits and a memory unit containing a plurality of memories on the basis of state information in a processing system which performs a series of processes in a given order, there is, for example, a technology of passing data between pipeline stages by switching data paths between the plurality of processing circuits and the plurality of memories in the memory unit according to given state information. As the state information, there is used information which changes from a processing status of at least one processing circuit among the plurality of processing circuits.